#ifndef ARM_BEHAVIOUR_H
#define ARM_BEHAVIOUR_H
#include "main.h"

#include "arm_task.h"

typedef enum
{
  ARM_ZERO_FORCE = 0, //机械臂无力
  ARM_INIT,           //机械臂初始化
  ARM_RELATIVE_ANGLE, //机械臂电机编码值相对角度控制
} arm_behaviour_e;//机械臂行为模式

/**
  * @brief          被arm_set_mode函数调用在arm_task.c,机械臂行为状态机以及电机状态机设置
  * @param[out]     arm_mode_set: 机械臂数据指针
  * @retval         none
  */
extern void arm_behaviour_mode_set(arm_control_t *arm_mode_set);

/**
  * @brief          机械臂行为控制，根据不同行为采用不同控制函数
  * @param[in]      jointx 为各关节的控制角度 单位 rad
  * @param[in]      gimbal_mode_set:机械臂数据指针
  * @retval         none
  */
 extern void arm_behaviour_control_set(fp32 *joint1, fp32 *joint2, fp32 *joint3, fp32 *joint4, fp32 *motor5, fp32 *motor6, arm_control_t *arm_control_set);

/**
  * @brief          机械臂在某些行为下，需要吸盘停止
  * @param[in]      none
  * @retval         1: no move 0:normal
  */
extern bool_t arm_cmd_to_cup_stop(void);


// extern bool_t arm_cmd_to_chassis_stop(void);
#endif

